Repository navigation
Harden agent publish, public STDF evidence, lints, fuzz, and decode throughput - #3
Merged
Merged
Conversation
The stop hook no longer stages, commits, or pushes, so a session cannot publish main or sweep untracked files. Coordinators publish only an agent/ branch after format, Clippy, and tests, and CI warns on oversized diffs. Co-authored-by: accuratep0wer <accuratep0wer@users.noreply.github.com>
expected.json records the decoder and viewer counts for the SHA-256 pinned samples. The test checks those hashes and counts, and skips locally until the files are downloaded. Co-authored-by: accuratep0wer <accuratep0wer@users.noreply.github.com>
Workspace lints forbid unsafe except the mmap and FFI helpers, and deny unwrap and panic outside tests. rust-toolchain.toml pins 1.99.1, and cargo-deny runs in CI with explicit ignores for advisories blocked by arrow/parquet 55. Co-authored-by: accuratep0wer <accuratep0wer@users.noreply.github.com>
Proptest checks a minimal record round trip, entry-point agreement, and prefix stability. cargo-fuzz targets use the same oracles. decode_all and summarize now reject a non-v4 FAR the same way decode_with_summary does; a libFuzzer smoke found that split. Co-authored-by: accuratep0wer <accuratep0wer@users.noreply.github.com>
Criterion benches the pinned public samples, and bench_adapter.py emits records_per_sec for the improvement runner. The gain threshold is 0.30, above the spread measured on this host before the contract was frozen. Co-authored-by: accuratep0wer <accuratep0wer@users.noreply.github.com>
The pinned toolchain's rustfmt check failed CI on viewer analysis sources that were still wrapped for an older rustfmt. Co-authored-by: accuratep0wer <accuratep0wer@users.noreply.github.com>
This was referenced Nov 1, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Five reviewable commits for the top priorities in the Lauren Tan-derived improvement plan. The stale
crates/tree is untouched. Independent review is pending: this was one sequential agent, and the author is not an independent reviewer of the decoder change in commit 4..cursor/hooks/auto-commit-push.ps1writes a local patch undertarget/agent-work/checkpoints/and does notgit add, commit, or push.ZSTDF_AGENT_PUBLISHis ignored.scripts/publish_agent_branch.ps1is the explicit coordinator path: it refusesmain/master, runs fmt, clippy, and tests, and pushes onlyHEAD:refs/heads/agent/....scripts/check_pr_size.pywarns (does not fail) above 800 non-generated lines.examples/public-stdf/expected.jsonholds the decoder and viewer counts. The test checks SHA-256 fromsources.jsonand skips unless the files exist orZSTDF_REQUIRE_PUBLIC=1. Measured counts matched the README, including a595 latest 270 / unresolved 66.unsafe_codeis forbid, exceptstdf-iommap andstdf-parquetFFI, which deny it and allow it only on those functions withSAFETYcomments.unwrap_usedandpanicare denied outside tests. Production sites were turned intoResultor a non-panicking exit.rust-toolchain.tomlpins 1.99.1.deny.tomlignores advisories that parquet 55 / pyo3 0.24 cannot upgrade past; the reasons are in the file.stdf-coreproptest covers a minimal FAR/PIR/PTR/PRR/DTR/MRR/unknown round trip, entry-point agreement, and prefix stability.fuzz/hasdecode_allandtruncate_prefixtargets using the same oracles, seeded from the golden hex fixtures. A libFuzzer smoke founddecode_allaccepting a non-v4 FAR thatdecode_with_summaryrejected. Bothdecode_allandsummarizenow usedetect_byte_order_result.scripts/bench_adapter.pyprints{"records_per_sec": ...}.experiments/decode-throughput-01/contract.jsonprotects tests, golden fixtures,expected.json, and the adapter.min_relative_gainis 0.30, above a 10-run max deviation of 0.141 and a later same-binary sample about 0.20 above that median.Verification
python3 -m unittest scripts/test_check_pr_size.py— 6 passed.scripts/test_improvement_runner.pyincluded in a 40-test run, passed.publish_agent_branch.ps1refusedmain,agent/../evil, andagent/Mainbefore cargo.sources.json.cargo test -p stdf-cli pinned_public_files_match_expected_countswithZSTDF_REQUIRE_PUBLIC=1passed (about 107s).cargo clippy --workspace --locked -- -D warningspassed after the lint fixes.cargo deny --locked check(cargo-deny 0.20.2): advisories, bans, licenses, and sources ok. Duplicate-version warnings remain warnings.cargo test --workspace --locked --exclude stdf-pywithZSTDF_REQUIRE_PUBLIC=1passed, including after the FAR alignment (stdf-cli 189 tests).cargo test -p stdf-core --test propertiespassed (round trip, arbitrary bytes, prefixes, golden fixtures).decode_all5550 runs,truncate_prefix1548 runs, both exit 0. The first smoke crashed on the FAR mismatch above; that input is fixed, not ignored.--sample-size 10: synthetic plus lot2, lot3, and a595 completed.scripts/bench_adapter.pyprinted one JSON object.improvement_runner.py initon the new contract returnedready.Not run / follow-up
cargo test -p stdf-pydoes not link here.pyo3is built withextension-module, so the test harness has nolibpython.python3-devwas installed and the link line still omitted-lpython. This matchesdocs/development/multi-agent.md(cargo test --workspace --exclude stdf-pylocally). CI still runs the full workspace test on Windows.cargo fmt --all -- --checkis not clean on rustfmt 1.10.0-stable (1.99.1). That was already true before this branch; this change did not reformat the tree. New and edited Rust files were formatted.cargo clippy --all-targets -- -D warningsfails on pre-existingclippy::approx_constantin unit tests (3.14). Default CI clippy does not pass--all-targets.expect_usedandindexing_slicingwere not enabled. CI uses-D warnings, so a warn-level lint would fail the build, andindexing_slicingwould flag ordinary parser indexing.initand the noise samples were.g++andLIBRARY_PATHtolibstdc++. GitHub's Ubuntu image usually has that toolchain; if the newfuzzjob cannot findlibstdc++, set the link path there.